#ifndef FPLAYER_X264ENCODER_H
#define FPLAYER_X264ENCODER_H


#include "FFMpegEncoder.h"

/**
 * author: x-fan
 * date: 2024/1/9
 * desc: FFMpeg的编码器之libX264
 */
class X264Encoder : public FFMpegEncoder {

public:
  using FFMpegEncoder::FFMpegEncoder;

  virtual ~X264Encoder() = default;

  const AVCodec * findCodec(EncoderParam &encoderParam) override;

  int32_t initContextParam(AVCodecContext *pCodecCtx, EncoderParam &encoderParam) override;

  MediaType getMediaType() override;

  const char *getClassName() override;

  void toString() override;
};


#endif //FPLAYER_X264ENCODER_H
